using System;
using System.Collections;
using System.Collections.Generic;
using Me.Prettyprint.Hector.Api.Beans;

namespace Me.Prettyprint.Hector.Api.Query
{
    /// <summary>
    /// Used to get the value of a subcolumn within a super column
    /// </summary>
    /// <typeparam name="K"></typeparam>
    /// <typeparam name="SN"></typeparam>
    /// <typeparam name="N"></typeparam>
    /// <typeparam name="V"></typeparam>
	public interface SubColumnQuery<K, SN, N, V> : Query<HColumn< N, V>>
	{
        /// <summary>
        /// Set the key to query
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        SubColumnQuery<K, SN, N, V> SetKey(K key);
        SubColumnQuery<K, SN, N, V> SetSuperColumn(SN superName);
        SubColumnQuery<K, SN, N, V> SetColumn(N columnName);
        SubColumnQuery<K, SN, N, V> SetColumnFamily(string cf);
	}
}